package com.jwell.oms.base.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.jwell.framework.mybatis.mapper.AbstractMapper;
import com.jwell.oms.base.entity.OmsSequence;

/**
 * 
 * @FileName:    OmsSequenceMapper.java
 * @Company:     成都积微物联电子商务有限公司
 *
 * @author:      liuyangbin
 * @version      V1.0
 * @date:        2016年12月2日 下午4:38:50
 * 
 * @Description: 运营序列Mapper
 *
 */
public interface OmsSequenceMapper extends AbstractMapper<OmsSequence> {
    
    /**
     * 根据关键字，前缀获取序列
     * @param keyWord
     * @param seqPrefix
     * @return
     * @author liuyangbin
     * @date 2016年12月2日
     */
    OmsSequence getNextVal(@Param("keyWord")String keyWord, @Param("seqPrefix")String seqPrefix);
    
    /**
     * 根据关键字，前缀更新下位值
     * @param keyWord
     * @param seqPrefix
     * @param nextVal
     * @param versionNo
     * @return
     * @author liuyangbin
     * @date 2016年12月2日
     */
    int updateNextVal(@Param("keyWord")String keyWord, @Param("seqPrefix")String seqPrefix, 
            @Param("nextVal")Long nextVal, @Param("versionNo")Long versionNo);
    
    /**
     * 查询运营序列号列表
     * @param omsSequence
     * @return
     * @author liuyangbin
     * @date 2016年12月5日
     */
    List<OmsSequence> findSequencePageList(OmsSequence omsSequence);
    
    /**
     * 删除运营序列号
     * @param ids
     * @author liuyangbin
     * @date 2016年12月5日
     */
    void removeSequence(@Param("ids")Long[] ids);
}